#pragma once

struct AVFormatContext;
struct AVCodecContext;
struct AVFrame;
struct AVPacket;
struct AVCodec;


#define MAX_STREAMS 10

class XDecode
{
private:
    /* data */
public:
    XDecode(/* args */);
    ~XDecode();

    virtual bool Open(const char* file_name);

    virtual void Clean();
    // virtual bool isAudio(AVPacket* pkt);
private:
    AVFormatContext *ifmt_ctx; // 输入文件上下文
    AVCodecContext *dec_ctx;
    AVFrame *dec_frame;
    const AVCodec *dec;
};


